
/*
*Released on 28th June 2008.
*Any violations can be reported at paritosh@wikiocean.net
*What is treated as violations can be found at www.wikiocean.net/ppl1-voilations*
******************************************************************************
* The contents of this file are subject to POOL Public License 1.0 and later.
* POOL Public License is based on Affero GPL v3 and additional conditions.
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the Affero GPL v3 License at http://www.gnu.org/licenses/agpl.html
* You may obtain a copy of the POOL Public License 1.0 or later at www.wikiocean.net/license/ppl.html
* Software distributed under POOL Public License 1.0 is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Initial Developer of the Original Code is Paritosh Pungaliya (C) 2008. All Rights Reserved.
******************************************************************************
* Objective of the additional terms (license)
* 1) Is to extend the software freedom to freedom to work.
* 2) To ensure that knowledge is free from monopoly of agencies.
* 3) To avoid a situation where big corporate or investor can buy out free software groups and companies and then start milking the communities built around it.
* (this trend can be seen how the freedom is curtailed in companies that get Venture Capital funding.)
******************************************************************************
*/

package  validation;


import logger.PoolLogger;
import dbmanager.DBManager;


/**
 * @author POOL
 *  This Class is used to check the Length of String is equals to given Length
 *  This Class is used in POOL as Validation Object
 * */

public class Fixlength implements Validation
{
	
	String validationvalue;
	PoolLogger pl;
	
	public Fixlength() {
		// logger
		pl = (PoolLogger) PoolLogger.getLogger(this.getClass().getName());
	}
	
	/**
	 * setDbmanager() method used to assign the DBmanager's Object 
	 * @param db is Object of DBManager Class
	 * @return void
	 */
	public void initPool()
	{}
	
	/**
	 * getMessage() get the Message of validation 
	 * @return Message
	 */
	
	public String getMessage()
	{
		pl.info(" Length should be " +(validationvalue) + " chars");
		pl.debug(" Length should be " +(validationvalue) + " chars");
		pl.warn(" Length should be " +(validationvalue) + " chars");
		pl.fatal(" Length should be " +(validationvalue) + " chars");
		pl.error(" Length should be " +(validationvalue) + " chars");
		pl.trace(" Length should be " +(validationvalue) + " chars");
		return " Length should be " +(validationvalue) + " chars";
	}

	public boolean validate(String Value) 
	{
		return false;
	}
	
	public boolean validate(String Value, String ConditionValue)
	{
	try 
		{
			this.validationvalue =ConditionValue; 
			int length = Integer.parseInt(ConditionValue);
			if(length==Value.length())
				return true;
		}
		catch (Exception e) 
		{
			e.printStackTrace();
			return false;
		}
		return false;
	}
	
	public boolean validate(String Value, String ConditionValue, String Refvalue) 
	{
		return validate(Value, ConditionValue);
	}
	
	public void setBasicvalue(String value) 
	{
		
	}
	public static void main(String[] args) 
	{
	Fixlength fix = new Fixlength();
		System.out.println("Result "+fix.validate("acr", "3"));
		System.out.println(fix.getMessage());
		
	}
}
